-
Notifications
You must be signed in to change notification settings - Fork 671
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
modify nakamoto block header to use Vec<MessageSignature>
#4781
Conversation
6abb574
to
8c92e2d
Compare
8c92e2d
to
fe3ca6f
Compare
fe3ca6f
to
d14e5b4
Compare
@jcnelson I think that's possibly the right idea, but I'm finding it to be actually pretty reasonable to swap the testing infra without really messing it up for when we go back to threshold sigs. There are a few places (ie I have a number of TODO comments in this PR, which are mainly related to where you'd need to do epoch-gated behavior. I'd love to see what you think about how to proceed given my first attempt at this. |
@jferrant @kantai @obycode tagging you in as I think this PR is in a good place to get a review. I'll want to see a full CI run to see exactly what's still TBD, but a lot of the initial pieces are in place. I've also rebased this on top of #4788, as that includes some type changes that are utilized. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This LGTM -- just a few comments. Exciting stuff!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall LGTM. Just a couple merge conflicts and a couple places where an error shouldn't be fatal.
Approving. I pushed 7c8df31. The miner thread joining logic needs to allow the prior mining thread to error (the prior miner will exit with an error if it detects the burnchain change). I am pretty sure that this was what was causing the CI failures (it caused those tests to fail locally for me). |
Nice catch, thank you @kantai! |
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
This builds on top of #4778, to try and reduce duplicate work and conflicts.
The
verify_signer_signatures
function has a few rules:RewardSet
and using 70% as the thresholdTracking the work included in this PR:
signer_signature
field inNakamotoBlockHeader
to beVec<MessageSignature>
verify_signer_signatures
method toNakamotoBlockHeader
with testsaccept_block
TestSigners
andTestSigningChannel
to sign the block using the new formatblind_signer
related code for Nakamoto integrationsWhat I think (?) is out of scope:
TestSigningChannel